/**
 * 根据经纬度获取两点之间的直线距离
 * @param lat1 - 地点1纬度
 * @param lng1 - 地点1经度
 * @param lat2 - 地点2纬度
 * @param lng2 - 地点2经度
 * @param fixed - 小数点后几位
 */
export const calculateDistance = (lat1: number, lng1: number, lat2: number, lng2: number,fixed: number) => {
    const toRadians = (degrees: number) => degrees * Math.PI / 180;
    
    const R = 6371; // 地球半径(公里)
    const φ1 = toRadians(lat1);
    const φ2 = toRadians(lat2);
    const Δφ = toRadians(lat2 - lat1);
    const Δλ = toRadians(lng2 - lng1);
  
    const a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
            Math.cos(φ1) * Math.cos(φ2) *
            Math.sin(Δλ/2) * Math.sin(Δλ/2);
    const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    
    return (R * c).toFixed(fixed); // 最终距离(公里)
};